約 2,926,129 件
https://w.atwiki.jp/aniwotawiki/pages/11249.html
登録日:2010/09/05(日) 15 45 19 更新日:2024/02/12 Mon 19 25 00NEW! 所要時間:約 4 分で読めます ▽タグ一覧 ためになる項目 ためになる項目←理解できれば なるほど、わからん 名前がかっこいい 数学 数概念 数直線 無限 超実数 超準解析 雑学項目 頭の体操項目 『数』とは、人間が持っている様々な概念の中で最も、と言うかほぼ唯一、むら無く交換共有出来る重要な概念である。 自然数によって順番を表したり、実数によって大小関係を比較したりするのは全く自然な操作である。 さて、我々は現在日常的には『実数体R』と言う数の集合及びその部分集合である『有理数体Q』、『整数環Z』などを用いているが、 そもそも実数とはどのような体系なのだろうか。 人々はまず『自然数』を見つけた。 これはつまり、『ひとつ』『ふたつ』と数えられる数であり、その名の通り世に遍く自然な数である。 (現代数学においては自然数に0を含める流儀もあるが、ここでは0は含めないものを意味する) 自然数全体の集合N上では、小学校以来おなじみの足し算と掛け算ができる。 しかし、この足し算と掛け算には不十分な点が存在する。それが単位元と逆元の存在であった。 まず単位元について考えよう。まず、どんな自然数nに対してもn×1=nとなることが知られている。(実はこれは1の定義でもある) このように、どんなものに掛けても結果が変わらないものを乗法単位元と呼ぶ。すなわち、Nは乗法単位元1を持っている。 一方で、Nは加法単位元を持たない。すなわち、どんな自然数nに対してもn+x=nとなるような自然数xは存在しない。 これでは不便なので、我々は新たに0という数をNに加えた。 次に逆元について考えよう。我々は自然数について既に足し算と掛け算という演算を知っているが、これらの演算には自然に逆演算を考えられる場合がある。 例えば、足し算の場合には2+5=7だから7-5=2、掛け算の場合には2×3=6だから6÷2=3といった具合である。 この「-」や「÷」は日常的には引き算、割り算と呼ばれる演算である。 ところが、自然数だけではこれらの演算が行えない場合がある。 例えば、2-5とか7÷3という演算は自然数と0の範囲では定義出来ない。 そこで、我々は引き算が常に行えるように負の整数というものを新たに考えることにした。 こうして我々は自然数(正の整数)、0、負の整数からなる『整数環Z』を得た。Z上では足し算、引き算、掛け算の操作が自由にできる。 先程、自然数と0の範囲では計算できなかった2-5も、Z上では2-5=-3と計算できるのである。 しかし、まだ割り算の問題が残っている。これを解決するために、我々はさらに分数というものを考えることにした。 Zに分数を追加することで、我々は『有理数体Q』を得た。 これによって、我々は0で割ることを除けば自由に『+』、『-』、『×』、『÷』の四則演算を行うことができるようになったのである。 したがって、四則演算を考える限りは有理数体Qで十分である。 ところで、初等的には、掛け算とは2×3=2+2+2のように足し算をくり返すものだった。 そこで、さらに掛け算をくり返す演算を考えてみよう。それが累乗と呼ばれる演算で、例えば3^2=3×3といった具合である。(a^bはaのb乗の意味) 足し算に対しては引き算、掛け算に対しては割り算という逆演算を考えてきたのと同様に、累乗に対しても逆演算を考えてみる。 先程の例では、3^2=3×3=9だから、2乗するという演算の逆演算を9に行うと3になると考えることができる。 (-3)^2=(-3)×(-3)=9という式が成り立つので、2乗するという演算の逆演算を9に行った結果として-3を考えることもできるが、 「演算」といった場合、結果は1つに決まらなければならないので、ここでは0以上のもの(すなわち3)を演算結果として採用しよう。 このように、2乗するとある有理数xになるような0以上の数を与える演算を『2乗(平方)根をとる』ということにし、 その演算結果をxの2乗(平方)根とか√xなどと書くことにする。(同様にして、正の整数nに対しn乗根を考えることができる) 残念なことに、この平方根をとる演算は有理数体Q上では自由に行うことはできない。例えば、2乗すると2になる有理数xは存在しないのである。 そこで、先程NからZをつくり、さらにZからQを構成したのと全く同様に、『n乗根をとる』演算が自由にできるような集合Aを考える。 Aは高校数学までには登場しないが、代数的数体と呼ばれる数の集合である。 こうして我々は『代数的数体A』を得た。A上では、我々は四則演算に加え、更に『n乗根をとる』演算が自由にできる。 ただし、Aを定義するにあたって、例えば√(-1)はどうするのか、という問題がある。これは『複素数体C』へとつながる重要な問題であるが、 いまは実数体への拡張を考えているので複素数の問題には立ち入らないことにする。 すなわち、数学一般における通常の定義でははAに複素数を含むが、ここでは含まないものとする。 さて、次に、Aははたして我々が(理解しているかどうかはともかく)知っている『実数体R』と等しいか?という問題を考えよう。 明らかにA⊂Rなので、R⊂Aかどうか、すなわち実数は全て代数的数か?というのがこの問題の本質的な部分である。 結論から言うと、A≠Rであることが知られている。つまり、実数であって代数的数ではない数が存在することが分かっている。 そのような数を超越数と呼ぶ。例えば、小学校で習う円周率πや高校で習うネイピア数eは超越数の例である。 (超越性の判定は一般に困難であり、例えばπ+eが超越数かどうかは未解決問題である) したがって、実数体を得るためにはさらなる考察が必要となる。 さて、先程2乗すると2になる有理数は存在しないことを述べた。(すなわち、√2は有理数ではない) その一方で、2乗すると2に近い値になるような有理数は存在するのである。 例えば、3/2, 7/5はそれぞれ2乗すると9/4=2+1/4, 49/25=2-1/25であり、それぞれ2との差は1/4,1/25である。 では、この差はどの程度まで小さくすることができるだろうか?というのが問題となるが、実はこの差はいくらでも小さくできる。 (差がいくらでも小さくできることと差が0であることは異なることに注意せよ) たとえば、2乗すると2との差が1兆分の1以下になるような有理数が存在するのである。 これが意味するのは、2乗すると2になる数は有理数ではあり得ないが、有理数によって任意の精度で近似できるということである。 もう一つの例として、円周率πについて考えよう。先程πは代数的数ではないことを述べた。 一方で、円周率とは初等的には直径1の円の周の長さであり、感覚的な理解が可能である。 (我々は曲線の長さをどう定義するかという問題には立ち入らず、円周に「長さ」があることを認めることにする) そこで、この円に内接する正6角形を考えると、その周の長さはちょうど3であり、πは3に近い数であると思われる。 更に、正12角形,正24角形,…と次々に辺の数を2倍にしていくとその周の長さは帰納的に三平方の定理によって求めることができ、それらは代数的数であることが分かる。 また、円に内接する正多角形の辺の数は増やせば増やすほどその多角形は限りなく円に近付く。 したがって、先程の√2のときと同様に、πは代数的数ではないにも関わらず、代数的数によって任意の精度で近似できる。 以上の2つの例から、実数(だと我々が少なくとも思っている)数はA(あるいはQ)の数によって任意精度で近似できるようなものであることが推定される。 そこで、これを実数の定義として採用してしまおう。 すなわち、Aによって任意精度で近似できるような数を新たにAに追加し、それを実数体Rとするのである。 なお、xがもともとAの数ならxはx自身によって誤差0で近似できる。したがって、RとはAによって任意精度で近似できるような数全体といってよい。 こうして我々はついに日常的に使っている実数を得た。 (ただし、この実数体の定義は厳密には正しくない。本来はA(実際にはQで十分)に「完備化」という操作を行う必要がある) さて、我々はAによって任意精度で近似できるような数全体を実数体とする定義にたどり着いた。 ところで、誰でも知っているように、実数体R、特に代数的数体Aでは大小比較ができる。 すなわち、xとyをそれぞれ代数的数とすると、x<y, x=y, x>yのどれかただ1つが必ず成り立つ。 また、どんな代数的数xに対しても、x<yとなる代数的数yが存在する。 したがって、「限りなく大きくなる」代数的数の列というものを考えることができる。 例えば、{1,2,3,4,…}とか{2,4,6,8…}はそのような列の例である。 この「限りなく大きくなる」代数的数の列を、拡大解釈して「∞に限りなく近づく」代数的数の列だと思ってみよう。 すると、∞はAによって任意精度で近似できると考えることができる。(-∞についても同様) こうして、実数体Rには、さらに∞および-∞を追加することができる。こうして得られた集合を拡大実数とか補完数直線などと呼ぶ。 …ここからが本題の超実数の話。先程、我々は実数体Rに∞と-∞を追加した集合である拡大実数を得た。 注意深い読者なら気付いただろうが、この集合は拡大実数「体」ではない。つまり、これは体ではない。 我々はまず自然数全体の集合Nから始め、Nが元々持っていた構造(足し算や掛け算、大小関係)を壊さないように慎重に拡張してきたのだが、 Rに∞と-∞を追加したことでその構造が壊れてしまったのである。 拡大実数を構成する際、 「限りなく大きくなる」代数的数の列は「∞に限りなく近づく」代数的数の列 だという拡大解釈を行ったが、これが失敗だった。 「限りなく大きくなる」代数的数の列として挙げた{1,2,3,4,…}と{2,4,6,8…}は確かに両方とも「限りなく大きくなる」代数的数の列であることは間違いない。 しかし{1,2,3,4…}という列に比べ{2,4,6,8…}という列は2倍の勢いで大きくなっていく。 この事実を無視し、単純に両方を∞という同じ数に近づく列だと考えてしまったのが原因でおかしなことになってしまったのである。 この問題を解消するには、「異なる勢いで大きくなる列」には「異なる∞」を対応させればよい。 この方法を用いれば、Rの体構造を保ったまま∞と-∞を追加することができる。これを超実数「体」と呼ぶ。 こうして我々は記事名にもある超実数を構成できた。 (列が大きくなる「勢い」をどう比較するのか、という非常に重要な問題が解決していないが、これは専門書に譲る) こうして得た超実数体は、超準解析と呼ばれる分野に使われている。 ただ、超準解析は英語では「Nonstandard analysis」(標準的ではない解析学)と呼ばれていることからも察しがつくが、あまりメジャーな分野ではない。 ちなみに、超実数体は歴史的には 感覚的取扱いが困難な「ε-δ論法」による極限を感覚的に取り扱えるようにする! ということが発端となり発案されたものであるが、ここまで読んだ人ならお分かりのように、 正直言って超実数体も感覚的に取り扱えるようになるためにはかなりの慣れが必要である。 追記・修正を求める。 △メニュー 項目変更 この項目が面白かったなら……\ポチッと/ -アニヲタWiki- ▷ コメント欄 [部分編集] 間違いかなり多いぞ。 -- 名無しさん (2014-04-29 14 14 31) んじゃ修正しろよな -- 名無しさん (2014-06-05 15 44 13) Rの元との距離が無限小に抑えられたら同じとみなすとか、代数的構造くらいには触れてほしい -- 名無しさん (2015-05-05 23 30 20) 細かい枝葉より本質のニュアンスが伝わりゃ十分 -- 名無しさん (2015-05-05 23 50 42) うおおお、思考回路が、思考回路があああああ(@_@ -- 名無しさん (2015-07-17 09 35 13) なるほど、わからん -- 名無しさん (2015-07-17 09 40 25) 大幅に修正。 -- 名無しさん (2017-01-14 19 37 31) なるほどわからん(@_@; -- 名無しさん (2020-01-15 15 51 45) 分かる分からない以前にただ読みにくいからなんとかしてくれ -- 名無しさん (2020-12-07 23 31 32) これ適当にそれっぽい言葉ならべてるだけじゃないの? -- 名無しさん (2020-12-08 00 35 59) ↑ちゃんと詠んだ上で文句いってんのか?見た限り特に間違いないぞ、そもそも超実数は大学数学超える難易度だし、それをニュアンスだけとはいえこれだけ簡単で読みやすく書けてるなら文句ないわ -- 名無しさん (2020-12-08 23 31 23) ニュアンスはなんとなく伝わるんだが、超実数の説明に至るまで長いからひたすらに分かりにくい。ぶっちゃけここのwiki見に来る層的に「超実数」なんて初めて聞く人が大半だろうから、まず「超実数とはなんぞや?」と言うのを簡潔に書いてから「なんで超実数なんてものが生まれたのか?」に繋げた方が良いんじゃないかな?(超実数なんて初めて聞いたから俺には書けんが) -- 名無しさん (2020-12-09 19 37 09) 代数的数体とか有理数体という言葉と縁遠いから分かりづらいと感じるのかもしれん -- 名無しさん (2023-01-16 21 23 06) 名前 コメント
https://w.atwiki.jp/amaeda/pages/22.html
/** * @brief origin shift (top-left - center) * @author maeda * @date 2008/09/10 */ #include "DCexchange.h" /** * in-place DC exchange for 2dimensional data (top-left - center) * this function works both odd/even size data * @param data fft data * @param cols column size of the data ( sometimes the size of x ) * @param rows row size of the data ( sometimes the size of y ) * @return true if succeed */ int maDCexchange2D( fftw_complex *data, int cols, int rows ) { int i,j; int p1,p2; // point position int c2,r2; // temporary for cols/2,rows/2 double re,im; // temporary if( data==NULL ) return false; if( rows 0 || cols 0 ) return false; c2 = cols/2; r2 = rows/2; for( j=0; j r2; j++ ){ for( i=0; i cols; i++ ){ // exchange p1( i, j ) - p2( (cols/2+i)%cols, rows/2+j ) p1 = j*cols + i; p2 = (r2+j)*cols + (c2+i)%cols; re = data[p1][0]; im = data[p1][1]; data[p1][0] = data[p2][0]; data[p1][1] = data[p2][1]; data[p2][0] = re; data[p2][1] = im; } } return true; }
https://w.atwiki.jp/amaeda/pages/27.html
/** * @brief phase calculation * @auther maeda * @date 2008/09/23 */ #include "phase.h" #define _USE_MATH_DEFINES #include "math.h" /** * get the phase of the signal and normalize it to 0-1 range * if we can t get the phase i.e. power=0, set -1 * @param in input data ( frequency domain ) * @param out 0-1 normalized phase ( frequency domain ) * @param rows ( height ) * @param cols ( width ) * @return true if succeed */ int maGetPhase2D( fftw_complex *data, double *out, int rows, int cols ) { int i,j; int idx; if( data==NULL || out==NULL ) return false; if( rows 0 || cols 0 ) return false; for( j=0; j rows; j++ ){ for( i=0; i cols; i++ ){ idx = j*cols + i; if( data[idx][0]!=0 || data[idx][1]!=0 ){ // function atan2 returns [-M_PI, M_PI], so normalize it to 0-1 out[idx] = 0.5 + 0.5*atan2( data[idx][1], data[idx][0] )/M_PI; }else{ // if we can t decide phase, return -1 out[idx] = -1; } } } return true; }
https://w.atwiki.jp/tkonishi73/pages/431.html
7.実数表現③ (復習)10進数をIBM単精度実数に直せ。 (解答) 整数部分は、である。 0.17×16=2.72 0.72×16=11.52 0.52×16=8.32 0.32×16=5.12 0.12×16=1.92 0.92×16=14.72 ・・・ これより、小数部分は、となる。 以上から、 となる。 ゆえに、となり、 指数は、となるので、指数部はで、2進数に直すと、となる。 符号は正の数だから、先頭1ビットは。ゆえに、先頭の8ビットは、である。 仮数部は16進6桁で、7桁目は「7捨8入」する。 これより、となり、2つ合わせて「」が答えである。 ②IEEE754方式の実数表現 単精度実数(4バイト)と倍精度実数(8バイト)は次のように構成される。(16進1桁=4ビット、である。) 符号 指数部 仮数部 全体 単精度実数 1ビット 8ビット(Bias=127) 23ビット 4バイト(32ビット=16進8桁) 倍精度実数 1ビット 11ビット(Bias=1023) 52ビット 8バイト(64ビット=16進16桁) なお、仮数部ではみ出した部分は2進数で「0捨1入」を行う。 符号部分は、「0」なら0または正の数、「1」なら負の数を表す。 IEEE754方式の特徴 1.基数 表示形式は、 である。 2.隠しビット 3.仮数部ではみ出した部分は、2進数で「0捨1入」する。 隠しビット IEEE754は、基数が2なので、2進表示にして、「1.△△△」の形に直して(正規化)、「1.」の部分を省略して 仮数部を「△△△」で表す。これを「隠しビット」という。 IEEE754では、仮数部は23ビットだが、隠しビットにより24ビットの精度を保つ。 (例) 10進数である。 となるので、 が得られる。 (例題) 10進数をIEEE754方式の単精度実数で表す。 上の問題より、であるので、 であるので、 符号ビット= 指数部= 仮数部= (先頭から24ビット) = (24ビット目を0捨1入する) であるので、まとめると、 となる。
https://w.atwiki.jp/amaeda/pages/26.html
/** * Phase calculation * @author maeda * @date 2008/09/01 */ #include "phase.h" #define _USE_MATH_DEFINES #include "math.h" /** * get the phase of the signal and normalize it to 0-1 range * if we can t get the phase i.e. power=0, set -1 * @param in input data ( frequency domain ) * @param out 0-1 normalized phase ( frequency domain ) * @param rows ( width ) * @param cols ( height ) * @return true if succeed */ int maGetPhase2D( fftw_complex *data, double *out, int rows, int cols ) { int i,j; int idx; if( data==NULL || out==NULL ) return false; if( rows 0 || cols 0 ) return false; for( j=0; j cols; j++ ){ for( i=0; i rows; i++ ){ idx = j*rows + i; if( data[idx][0]!=0 || data[idx][1]!=0 ){ // function atan2 returns [-M_PI, M_PI], so normalize it to 0-1 out[idx] = 0.5 + 0.5*atan2( data[idx][1], data[idx][1] )/M_PI; }else{ // if we can t decide phase, return -1 out[idx] = -1; } } } return true; }
https://w.atwiki.jp/talesroad/pages/19.html
テイルズオブ検索結果 #technorati テイルズオブバグ検索結果 #technorati バンダイナムコ検索結果 #technorati
https://w.atwiki.jp/tkonishi73/pages/428.html
(3).実数の表現形式 (復習)10進実数を16進にする。 ○整数部分⇒通常通り、10進を16進にする。 与えられた数を16で割り、余りを求める。 この操作を繰り返し、商が0になったら、下から余りを並べる。 ○小数部分⇒16倍して整数部分の数を求める。 さらに、その小数部分の数を16倍する。この操作を繰り返し、整数部分の数を上から並べる。 (例題) 2011.1027を16進実数にする。 (解答) 2011÷16=125...11 125÷16=7...13 7÷16=0...7 これより、整数部は、 0.1027×16=1.6432 0.6432×16=10.2912 0.2912×16=4.6592 0.6592×16=10.5472 0.5472×16=8.7552 ・・・ これより、小数部分は、 以上から、 となる。 実数表現について 現在、使用されている実数表現方式には、「IBM方式」「IEEE(アイトリプルイー)方式」の2通りある。 ①.IBM方式 ・・・ 汎用コンピュータで従来使用されていた方式。 ②.IEEE574方式 ・・・ 国際標準で制定された方式。マイクロソフト、インテル、モトローラ、などのプロセッサで採用された。現在のパソコンで幅広く使用されている。 ①IBM方式の実数表現 単精度実数(4バイト)と倍精度実数(8バイト)は次のように構成される。(16進1桁=4ビット、である。) 符号 指数部 仮数部 全体 単精度実数 1ビット 7ビット(Bias=64) 24ビット(16進6桁) 4バイト(32ビット=16進8桁) 倍精度実数 1ビット 7ビット(Bias=64) 56ビット(16進14桁) 8バイト(64ビット=16進16桁) なお、仮数部ではみ出した部分は「7捨8入」を行う。 符号部分は、「0」なら0または正の数、「1」なら負の数を表す。 (例題1) 1234.56をIBM単精度実数で表す。 (解答例)前回の問題より、B=16として正規化すると、 となり、がわかる。 符号は正数だから先頭の1ビットは「0」で、(64はBias。64だけずらして指数部は表現する) ゆえに、「」となる。(6桁目は「7捨8入」)している。 (例題2) IBM単精度実数「」を10進数で表す。 (解答例)より、先頭1バイトがなので、符号は「0」で正。 さらに、指数部は、より、66-64=2. 表現された数は、 より、193である。 Bias(バイアス)について 指数部分は、2進7ビットだから、「」~「」まで表現できる。 これは、10進に直すと、「」~「」であり、このままだと、大きい数しか取り扱うことが出来ない。 これを回避するために、Bias分だけ、ずらせて表現する。 IBM形式の場合、Bias=だから、「」を「」、「」を「」だとして、小さい数も表現できるように対応している。 Biasがあるために、小さい数も表現できるわけである。
https://w.atwiki.jp/amaeda/pages/24.html
/** * Powerspectol calculation * @author maeda * @date 2008/09/01 */ #include "powerspectol.h" #define _USE_MATH_DEFINES #include "math.h" /** * get the log scaled powerspectol of the signal and normalize it to 0-1 range * @param in input data ( frequency domain ) * @param out output data ( frequency domain ) * @param cols ( width ) * @param rows ( height ) * @return true if succeed * ------------------------------------------------------------------------- * (1) get the log scaled powerspectol log(1 + sqrt(re*re + im*im)) * (2) normalize */ int maGetPowerSpectol2D( fftw_complex *in, double *out, int cols, int rows ) { int i,j; int idx; // index of data double max, min, scale; // max/min of powerspectol if( in==NULL || out==NULL ) return false; if( rows 0 || cols 0 ) return false; // (1) get the log scaled powerspectol log(1 + sqrt(re*re + im*im)) // ( powerspectol is defined as re*re + im*im ) // this is equal or greater than 0 for( j=0; j rows; j++ ){ for( i=0; i cols; i++ ){ idx = j*cols + i; out[idx] = log10( 1 + sqrt(pow(in[idx][0],2) + pow(in[idx][1],2)) ); } } // (2) normalization // (2-1) get the maximum and minimum max = min = out[0]; for( j=0; j rows; j++ ){ for( i=0; i cols; i++ ){ idx = j*cols + i; if( out[idx] max ) max = out[idx]; if( out[idx] min ) min = out[idx]; } } // (2-2) normalize scale = 1./(max-min); for( j=0; j rows; j++ ){ for( i=0; i cols; i++ ){ idx = j*cols + i; out[idx] = ( out[idx] - min ) * scale; } } return true; }
https://w.atwiki.jp/2013smmath1bsris/pages/16.html
自然数 は定義されているものとする。 このとき、 整数 有理数 を定義するのは容易である。 一方、実数を定義するのは容易でない。 でも頑張って定義しよう。 定義 1.1 実数Rを 四則が定められ (省略気になる人は先生に質問してほしい) 順序が定まり (公理 1.4.1) 連続性の公理を満たし (公理 1.4) アルキメデスの原理が成り立つ (公理 1.2) ような集合と定める。 有理数は四則が定められ、順序が定まる。連続性はない。 公理 1.2 (アルキメデスの原理) 任意の正の実数 に対し、自然数が存在して となる。 +Plus 無限小について が実数だと、無限小は実数。 これは1/n(n 0)の形をしているから正であるはずだが、 はN倍しても1を超えないから実数ではない。 したがっては実数ではない。 +Plus デデキント切断 ここでは数列の極限として実数を定義しているが、 数学1Aのノートを見ればわかるとおり、彼らは実数を別のやり方で定義している。 詳しいことはここには書かない。ただ実数の作り方は1つではないということを補足しておく。 次 §2 数列
https://w.atwiki.jp/tkonishi73/pages/418.html
7.実数表現 (1).有理数の小数表現 有理数(rational number)とは 2つの整数m、n(n≠0)で、m/nの形に書いた数のこと。 有理数を小数で表現するとき、m÷nの割り算をしたときに、 1.どこかの桁で割り切れる ⇒ 有限小数 2.割り切れることなく、前に出現した余りが現れる ⇒ (無限)循環小数 循環小数を表す場合には、循環する数の上に「・」を表記する。 2つ以上の数のときには、繰り返す最初と最後の数の上に「・」を付ける。 例題. 次の分数を循環小数で表せ。 ①. 37/12 ②. 2/7 (解) ①.37÷12=3...1、割り算の筆算の要領で、10÷12=0...10 100÷12=8...4、40÷12=3...4、40÷16=3...4、 以下、循環するので、 ②.2÷7=0...2、20÷7=2...6、60÷7=8...4、40÷7=5...5、50÷7=7...1、10÷7=1...3、30÷7=4...2 となり、余りが最初に一致して、これ以降は循環する。 よって、 ■ (2).実数の16進表現 整数部と小数部に分けて計算する。 ○整数部分・・・16で割って余りを求める操作を繰り返し、商が0になったら、余りを「下から」並べる。 ○小数部分・・・16倍して整数部分の数を求める操作を繰り返す。適当なところで、整数部分の数を「上から」並べる。 以上の求め方が、今後の基本になる。 正規化表現 一般に数を、 ±M×B^E の形で表現する方式を「浮動小数点表現」という。 この場合、Mを仮数(Mantissa)、Bを基数(Base)、Eを指数(Exponent)という。 Bを決めると、任意の数は、MとEで表現することができる。 さらに、小数点が先頭に来るように、小数点の位置をずらすことを「正規化表現」という。 正規化表現をすると、任意の数は、定めたMとEで、一意的に表現できる。 正規化することで、有効桁数をできるだけ多く取るように工夫し、表現の精度を高めている。